class Elc:#电子产品是父类 和  电脑 手机是子类
    price=0
    brandName=''
class Computer(Elc):
    def __init__(self,brandName):
        self.brandName=brandName
    frontCameraFocus=0 #前置摄像头的像素
    def playGame(self,person):
        print(person.name+"用"+self.brandName+"电脑打王者荣耀")
class MobilePhone(Elc):
    def __init__(self,brandName):
        self.brandName=brandName
    frontCameraFocus = 0 #前置摄像头的像素
    backCameraFocus = 0 #后置摄像头的像素
    def playGame(self,person):
        print(person.name+"用"+self.brandName+"手机打王者荣耀")

class Person:
    name=''
    def __init__(self,name):
        self.name=name
    def playGame(self,elc):  #人有一个行为是玩游戏 但是需要提供一个电子设备给他玩，他用电子设备来打王者荣耀
        elc.playGame(self)
computer=Computer("dell")
mobilePhone=MobilePhone("华为mate40")
person=Person('张三')
person.playGame(mobilePhone)
#人启动手机 这个方法是人的，但是人把自己的信息输入到了手机玩游戏，手机的方法
'''
分析 场景的  1.判断有几个类
                 人可以用手机玩王者荣耀 可以用电脑玩 
                  手机类（子类）（
                          特征：  后置摄像头像素   
                          功能：玩游戏
                          ）  
                  电脑类（子类）（特征：前置摄像头像素 价格 品牌 
                          功能: 玩游戏）
                  电子产品类（父类）:(
                                  特征： 价格 品牌
                             )
                  人：（特征：）
                          
                   
             2.再判断类类关系 
                 继承关系
                 包含关系
                 使用关系
'''

class Person1:
    name=''
    def __init__(self,name):
        self.name = name
person1=Person1("阿里巴巴")


#包含子类父类，包含使用类，使用类 使用具体工具完成功能
#在点餐系统中，用户点餐，可以选择外卖可以选择 到店取餐就餐
#这里有哪些功能需要定义  点餐 出餐函数 点餐是用户的行为  出餐的网店 实体店
#用户 网店 实体店（店名  注册地址 出餐地址） 套餐类（套餐名 价格）
class User:
    name=''
    def order(self,shop,meal):
        shop.order(self,meal)
class Shop:
    name=''
    regAddress=''
class NetShop(Shop):
    upvoteno=0
    def order(self,user,meal):
        print(user.name+"在"+self.name+"点餐"+meal.name)
class RealShop(Shop):
    deskno=0
    def order(self,user,meal):
        print(user.name+"在"+self.name+"点餐"+meal.name)
class Meal:
    name=''
    price=0
user=User()
user.name="张三"
netShop=NetShop()
netShop.name="XX黄焖鸡01号店"
realShop=RealShop()
realShop.name="XX黄焖鸡人民南路店"
meal=Meal()
meal.name="大份黄焖鸡"
user.order(realShop,meal)



#学生骑自行车  骑电动车
class Student:
    name=''
    def drive(self,traffic):
        traffic.run(self)

class Traffic:
    duringTime = 0
    traveLong = 0
class Bike(Traffic):
    def run(self,student):
        print(student.name+"骑自行车")

class BatteryCar(Traffic):
    batteryLeave=0  #剩余点亮
    def run(self,student):
        print(student.name+"骑电动车")
student=Student()
student.name="小王"
bike=Bike()
batteryCar=BatteryCar()
student.drive(batteryCar)





















